public class Pet {
    protected int food;// 饥饿度
    protected int joy;// 快乐度
    protected String name;// 角色名字
    private int power; // 当前体力
    private int maxPower; // 最大体力
    private int exp; // 经验值
    private int level; // 等级（1-10）
    private int count; // 今日专属互动次数
    private int age; // 存活天数

    // 构造方法
    public Pet(String name) {
        this.name = name;
        this.food = 50;
        this.joy = 50;
        this.power = 100;
        this.maxPower = 100;
        this.exp = 0;
        this.level = 1;
        this.count = 0;
        this.age = 0;
    }    // 方法和getter/setter
    public void usePower(int amount) { 
        power -= amount; 
        if (power < 0) {
            power = 0;
        }
    }
    public void addPower(int amount) { 
        power = Math.min(power + amount, maxPower); 
    }
    public void addExp(int value) { 
        exp += value; 
    }
    public void addAge() { 
        age++; 
    }

    // 获取当前体力
    public int getPower() {
        return power;
    }

    // 设置当前体力（谨慎使用，一般用恢复、消耗方法）
    public void setPower(int value) {
        this.power = value;
    }    // 获取最大体力
    public int getMaxPower() {
        return maxPower;
    }

    // 设置最大体力
    public void setMaxPower(int value) {
        this.maxPower = value;
    }

    // 获取经验值
    public int getExp() {
        return exp;
    }

    // 设置经验值
    public void setExp(int value) {
        this.exp = value;
    }

    // 获取等级
    public int getLevel() {
        return level;
    }

    // 设置等级
    public void setLevel(int value) {
        this.level = value;
    }

    // 获取今日专属互动次数
    public int getCount() {
        return count;
    }

    // 设置今日专属互动次数
    public void setCount(int value) {
        this.count = value;
    }

    // 获取存活天数
    public int getAge() {
        return age;
    }

    // 设置存活天数
    public void setAge(int value) {
        this.age = value;
    }    // 获取食物值
    public int getFood() {
        return food;
    }

    // 设置食物值
    public void setFood(int food) {
        this.food = food;
    }    // 获取快乐值
    public int getJoy() {
        return joy;
    }

    // 设置快乐值
    public void setJoy(int joy) {
        this.joy = joy;
    }    // 喂食方法
    public void feed() {
        if (food >= 90) {
            System.out.println(name + " 已经很饱啦，不想再吃了！");
        } else {
            //每次喂食增加10点食物值
            food = food + 10;
            System.out.println("给 " + name + " 喂食，食物值增加，当前食物值为 " + food);
        }
    }    // 玩耍方法
    public void play() {
        if (joy >= 100) {
            System.out.println(name + " 现在超级开心，不想玩啦！");
        } else {
            // 每次玩耍增加10点快乐度
            joy = joy + 10;
            // 每次玩耍减少5点食物值
            food = food - 5;
            System.out.println("和 " + name + " 玩耍，当前快乐度为 " + joy + "，当前食物值为 " + food);
        }
    }
      // 显示宠物当前状态
    public void showStatus() {
        System.out.println("姓名：" + name);
        System.out.println("食物值：" + food + "/100");
        System.out.println("快乐度：" + joy + "/100");
        System.out.println("等级：" + level);
        System.out.println("存活天数：" + age);
    }
    
    // 获取角色姓名
    public String getName() {
        return name;
    }

    // 专属互动方法，由子类实现
    public void action() {
        // 这里由子类具体实现
    }    // 增加存活天数
    public void addDay() {
        this.age++;
    }
}





